package com.bdmc.device.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.time.LocalDateTime;

;

/**
 * GPS设备历史数据视图对象 dev_gps_history
 *
 * @author bdmc
 * @date 2022-03-22
 */
@Data
@ExcelIgnoreUnannotated
public class DevGpsHistoryVo {

	private static final long serialVersionUID = 1L;

    /**
     * 
     */
	//@ExcelProperty(value = "")
	private Long historyId;

    /**
     * 设备id
     */

	private Long deviceId;

	@ExcelProperty(value = "对象名称",order = 1)
	private String targetName;

    /**
     * 纬度
     */
	@ExcelProperty(value = "纬度",order = 7)
	private String lat;

    /**
     * 经度
     */
	@ExcelProperty(value = "经度",order = 8)
	private String lng;

    /**
     * 定位数据上报时间
     */
	@ExcelProperty(value = "数据时间",order = 2)
	private String dataTime;

    /**
     * 报警类型编码
     */
	//@ExcelProperty(value = "报警类型编码")
	private Integer alarmCode;

    /**
     * 报警类型字符串逗号拼接
     */
	@ExcelProperty(value = "报警类型")
	private String alarmType;

    /**
     * 高度
     */
	@ExcelProperty(value = "高度",order = 6)
	private Integer hight;

    /**
     * 速度
     */
	@ExcelProperty(value = "速度",order = 5)
	private BigDecimal speed;

    /**
     * 0-360
     */
	//@ExcelProperty(value = "0-360")
	private Integer direction;

    /**
     * 里程
     */
	//@ExcelProperty(value = "里程")
	private Long mileage;

    /**
     * 油量
     */
	//@ExcelProperty(value = "油量")
	private String oilMass;

    /**
     * 电压等级，00：无电（关机）01：电量极低（不足以打电话发短信等）02：点亮很低（低电报警）03：电量低（可正常使用）04：电量中05：电量高06：电量极高
     */
	//@ExcelProperty(value = "电压等级，00：无电", converter = ExcelDictConvert.class)
    //@ExcelDictFormat(readConverterExp = "关=机")
	private Integer voltageLevel;

    /**
     * GSM 信号强度00：无信号01：信号极弱02：信号较弱03：信号良好04：信号强
     */
	@ExcelProperty(value = "信号强度")
	private Integer gsmSignal;

    /**
     * 设备状态
     */
	@ExcelProperty(value = "设备状态",order = 9)
	private String devState;

    /**
     * 车辆位置
     */
	@ExcelProperty(value = "位置",order = 10)
	private String carLocation;

    /**
     * 创建时间
     */

	private String createDate;


	@ExcelProperty(value = "里程（km）",order = 3)
	private String calcMile;

	@ExcelProperty(value = "停留（Min）",order = 4)
	private Long stopMinute;

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private LocalDateTime createTime;

}
